<?php
require 'Page.php';
/**
 * PageManager
 *
 * @author tpr
 */
class PageManager 
{    
    /*
     * Erstellt "View" -> HTML Code und
     * speichert die URL sowie weitere Informationen
     * in der Datenbank.
     */
    public function createPage($page)
    {
        if ($page instanceof Page)
        {
            // Datei speichern..
            $htmlHead = '<!DOCTYPE html>
                         <html>
                         <head>
                            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                            <title>' . $page->getName() . '</title>
                         </head>
                         <body>';
        
           $htmlFooter = '</body></html>';
        
           $file = fopen($page->getURL(), 'w');
           fwrite($file, $htmlHead);
           fwrite($file, $page->getContent());
           fwrite($file, $htmlFooter);
           
           // Seite in der Datenbank anlegen..
           $page->createObject();
        }
        else
        {
            echo 'INVALID PAGE';
        }
    }
    
    /*
     * Zeigt eine Seite an.
     */
    public function showPage($page)
    {
        // Seite laden..
        $thePage = $this->loadPage($page->getID());
        
        // TODO: Ansicht
        $url = $thePage->getURL();
    }
    
    /*
     * Ruft die Seite im Editor (Bearbeitungsmodus) auf.
     */
    public function editPage($page)
    {
       $pageToEdit = $this->loadPage($page->getID()); 
       $this->startEditor($pageToEdit);
    }
    
    /*
     * Speichert Veränderungen im Code und
     * ggf. neuen Seitennamen.
     */
    private function savePage($page)
    {
        $page->saveObject();
    }
    
    /*
     * Lädt eine Seite, welche vorher aus der Datenbank
     * abgerufen wurde. -> Anhand der ID
     */
    private function loadPage($page_id)
    {
        $page = new Page();
        $page->loadObjectByID($page_id);
        return $page;
    }
    
    /*
     * Ruft den Editor mit der übergebenen Seite auf.
     */
    private function startEditor($page)
    {

    }
}
?>